package com.ruoyi.system.domain.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author nanyang
 */
public class PmsPatientDto {

    @Data
    @ApiModel("新增人口学")
    @Valid
    public static class Insert {
        @NotNull(message = "姓名不能为空")
        @ApiModelProperty("姓名")
        private String name;
        @ApiModelProperty("姓名全拼")
        private String pinyinFull;
        @ApiModelProperty("姓名简拼")
        private String pinyinSimple;
        @ApiModelProperty("性别")
        private Byte sex;
        @ApiModelProperty("年龄")
        private Integer age;
        @NotNull(message = "身份证不能为空")
        @ApiModelProperty("身份证")
        private String idCard;
        @ApiModelProperty("民族")
        private String nation;
        @ApiModelProperty("联系电话")
        private String phone;
        @ApiModelProperty("建档单位")
        private String createCompany;
        @ApiModelProperty("建档年龄")
        private Integer createAge;
        @ApiModelProperty("户籍地址邮编")
        private String postalCode;
        @ApiModelProperty("户籍地市")
        private String registeredCity;
        @ApiModelProperty("户籍详细地址")
        private String registeredCityDetail;
        @ApiModelProperty("户籍省")
        private Long registeredProvince;
        @ApiModelProperty("数据来源：0筛查上报、1急救上报、2治疗上报 3康复上报  4应用上报 ")
        private Integer source = 1;
        @ApiModelProperty("建档人")
        private String sourceBy;
        @ApiModelProperty("建档单位")
        private String sourceCompany;
        @ApiModelProperty("建档时间")
        private Date sourceTime;
        @ApiModelProperty("备注")
        private String remark;
    }

    @Data
    @ApiModel("修改人口学")
    public static class Update {
        @ApiModelProperty("ID")
        private Long id;
//        @ApiModelProperty("姓名")
//        private String name;
//        @ApiModelProperty("姓名全拼")
//        private String pinyinFull;
//        @ApiModelProperty("姓名简拼")
//        private String pinyinSimple;
//        @ApiModelProperty("性别")
//        private Byte sex;
        @ApiModelProperty("年龄")
        private Integer age;
//        @ApiModelProperty("身份证")
//        private String idCard;
        @ApiModelProperty("民族")
        private String nation;
        @ApiModelProperty("联系电话")
        private String phone;
        @ApiModelProperty("建档单位")
        private String createCompany;
//        @ApiModelProperty("建档年龄")
//        private Integer createAge;
        @ApiModelProperty("户籍地址邮编")
        private String postalCode;
        @ApiModelProperty("户籍地市")
        private String registeredCity;
        @ApiModelProperty("户籍详细地址")
        private String registeredCityDetail;
        @ApiModelProperty("户籍省")
        private Long registeredProvince;
        @ApiModelProperty("数据来源：0筛查上报、1急救上报、2治疗上报 3康复上报  4应用上报 ")
        private Integer source;
        @ApiModelProperty("建档人")
        private String sourceBy;
        @ApiModelProperty("建档单位")
        private String sourceCompany;
        @ApiModelProperty("建档时间")
        private Date sourceTime;
        @ApiModelProperty("备注")
        private String remark;


        private String name;

        private String pinyinFull;

        private String pinyinSimple;
        private Byte sex;

        private String idCard;

        private Integer createAge;

        private String grbslx;

        private String grbsm;
    }

    @Data
    @ApiModel("删除人口学")
    public static class Delete {
        @ApiModelProperty("删除ID")
        private List<Long> idList;
    }


    @Data
    @ApiModel("查询人口学")
    public static class Query {
        @ApiModelProperty("姓名")
        private String name;
        @ApiModelProperty("姓名全拼")
        private String pinyinFull;
        @ApiModelProperty("姓名简拼")
        private String pinyinSimple;
        @ApiModelProperty("性别")
        private Byte sex;
        @ApiModelProperty("身份证")
        private String idCard;
        @ApiModelProperty("数据来源：0筛查上报、1急救上报、2治疗上报 3康复上报  4应用上报 ")
        private Integer source;
    }

    @Data
    @ApiModel("根据身份证号查询人口学")
    public static class QueryByIdCard {
        @ApiModelProperty("身份证")
        private String idCard;
    }

}
